package currency

object US extends CurrencyZone {
    override type Currency = Dollar

    override def make(x: Long): Dollar = new Dollar {
        override val amount: Long = x
    }

    abstract class Dollar extends AbstractCurrency {
        override def designation: String = "USD"
    }

    val Cent = make(1)
    val Dollar = make(100)
    override val CurrencyUnit: Dollar = Dollar
}
